FW 3.60 Installer by FreePlay

Installs firmware 3.60 onto any slim PSP. DOES NOT work on a fat PSP, since 3.60 was never for the fat, and there are no drivers in 3.60 for the fat.

PLEASE NOTE: There are ABSOLUTELY no safety checks. Since this installs in Pandora mode, I figured you'd be able to unbrick if something happened to go wrong.

Requirements:

* Complete 3.60 Firmware dump, ENCRYPTED, with NO sigchecks. To obtain this, install 3.60m33 on a slim PSP, dump flash0 to your PC, then run the files through jas0nuk's prxdecrytper with the 'unsigcheck' option.

* 3.60 IPL. To obtain this
	1. Uninstall 3.60m33 (you can do this with the 3.60m33 installer... read the readme for details). Use Pandora and cory1492's nandTool to dump the 3.60 NAND to your memory stick.
	2. In a hex editor, go to offset 0x42000 in the NAND dump. Copy the following 0x36000 bytes (221184 bytes) to a new file. This is the IPL.

* A Pandora setup capable of loading an ELF. Examples include cory1492's nandTool or jas0nuk's ELF menu.

* Three modules from the 3.52 firmware updater. Extract the DATA.PSP file from the update EBOOT and use jas0nuk's prxdecrypter to unpack it AND decrypt the modules. The modules you'll need are:
	1. sceLFatFs_Updater_Driver.prx --> ms0:/elf/sceLFatFs_Updater_Driver_352.prx
	2. sceLflashFatfmtUpdater.prx --> ms0:/elf/sceLflashFatfmtUpdater_352.prx
	3. sceNAND_Updater_Driver.prx --> ms0:/elf/sceNAND_Updater_Driver_352

* The 360_installer.elf file, of course. Put it in ms0:/elf/.

Instructions:

0. BACK UP YOUR NAND. If the program fails, there is no 'undo' option. You WILL want a backup.
1. Remove all the system/hidden attributes from the 3.60 flash0 dump.
2. Make a folder called 'flash0' on the root of your memory stick.
3. Copy the contents of 3.60's flash0 into the 'flash0' folder. Copy the IPL there as well, with the name 'ipl.bin'. The layout of your memory stick should be this:

M:\flash0\data\cert\CA_LIST.cer
M:\flash0\dic\apotp.dic
M:\flash0\dic\atokp.dic
M:\flash0\dic\aux0.dic
M:\flash0\dic\aux1.dic
M:\flash0\dic\aux2.dic
M:\flash0\dic\aux3.dic
M:\flash0\font\gb3s1518.bwfon
M:\flash0\font\jpn0.pgf
M:\flash0\font\kr0.pgf
M:\flash0\font\ltn0.pgf
M:\flash0\font\ltn1.pgf
M:\flash0\font\ltn10.pgf
M:\flash0\font\ltn11.pgf
M:\flash0\font\ltn12.pgf
M:\flash0\font\ltn13.pgf
M:\flash0\font\ltn14.pgf
M:\flash0\font\ltn15.pgf
M:\flash0\font\ltn2.pgf
M:\flash0\font\ltn3.pgf
M:\flash0\font\ltn4.pgf
M:\flash0\font\ltn5.pgf
M:\flash0\font\ltn6.pgf
M:\flash0\font\ltn7.pgf
M:\flash0\font\ltn8.pgf
M:\flash0\font\ltn9.pgf
M:\flash0\kd\AMCTRL.PRX
M:\flash0\kd\ATA.PRX
M:\flash0\kd\AUDIO.PRX
M:\flash0\kd\audiocodec_260.prx
M:\flash0\kd\AVCODEC.PRX
M:\flash0\kd\cert_loader.prx
M:\flash0\kd\CHKREG.PRX
M:\flash0\kd\CHNNLSV.PRX
M:\flash0\kd\CLOCKGEN.PRX
M:\flash0\kd\CODEC.PRX
M:\flash0\kd\CTRL.PRX
M:\flash0\kd\DISPLAY.PRX
M:\flash0\kd\DMACMAN.PRX
M:\flash0\kd\DVE.PRX
M:\flash0\kd\exceptionman.prx
M:\flash0\kd\FATMSMOD.PRX
M:\flash0\kd\GE.PRX
M:\flash0\kd\HIBARI.PRX
M:\flash0\kd\HPREMOTE.PRX
M:\flash0\kd\http_storage.prx
M:\flash0\kd\idmanager.prx
M:\flash0\kd\idstorage.prx
M:\flash0\kd\IFHANDLE.PRX
M:\flash0\kd\ifhandle_152.prx
M:\flash0\kd\IMPOSE.PRX
M:\flash0\kd\INIT.PRX
M:\flash0\kd\interruptman.prx
M:\flash0\kd\iofilemgr.prx
M:\flash0\kd\iofilemgr_dnas.prx
M:\flash0\kd\IRDA.PRX
M:\flash0\kd\ISOFS.PRX
M:\flash0\kd\LED.PRX
M:\flash0\kd\LFATFS.PRX
M:\flash0\kd\lflash_fatfmt.prx
M:\flash0\kd\libasfparser.prx
M:\flash0\kd\libatrac3plus.prx
M:\flash0\kd\libaudiocodec2.prx
M:\flash0\kd\LIBDNAS.PRX
M:\flash0\kd\libdnas_core.prx
M:\flash0\kd\LIBHTTP.PRX
M:\flash0\kd\libparse_http.prx
M:\flash0\kd\libparse_uri.prx
M:\flash0\kd\LIBSSL.PRX
M:\flash0\kd\libupdown.prx
M:\flash0\kd\LOADCORE.PRX
M:\flash0\kd\loadexec_02g.prx
M:\flash0\kd\LOWIO.PRX
M:\flash0\kd\MCCTRL.PRX
M:\flash0\kd\MEDIAMAN.PRX
M:\flash0\kd\mediasync.prx
M:\flash0\kd\MEMAB.PRX
M:\flash0\kd\memlmd_02g.prx
M:\flash0\kd\mesg_led_02g.prx
M:\flash0\kd\me_wrapper.prx
M:\flash0\kd\MGR.PRX
M:\flash0\kd\MGVIDEO.PRX
M:\flash0\kd\mlnbridge.prx
M:\flash0\kd\modulemgr.prx
M:\flash0\kd\MPEG.PRX
M:\flash0\kd\mpegbase_260.prx
M:\flash0\kd\MPEG_VSH.PRX
M:\flash0\kd\MSAUDIO.PRX
M:\flash0\kd\MSCM.PRX
M:\flash0\kd\MSSTOR.PRX
M:\flash0\kd\NP.PRX
M:\flash0\kd\NP9660.PRX
M:\flash0\kd\NPDRM.PRX
M:\flash0\kd\NP_CORE.PRX
M:\flash0\kd\OPENPSID.PRX
M:\flash0\kd\POPS.PRX
M:\flash0\kd\POPSMAN.PRX
M:\flash0\kd\POWER.PRX
M:\flash0\kd\PSHEET.PRX
M:\flash0\kd\pspbtcnf_02g.bin
M:\flash0\kd\PSPNET.PRX
M:\flash0\kd\pspnet_adhoc.prx
M:\flash0\kd\pspnet_adhocctl.prx
M:\flash0\kd\pspnet_adhoc_auth.prx
M:\flash0\kd\pspnet_adhoc_discover.prx
M:\flash0\kd\pspnet_adhoc_download.prx
M:\flash0\kd\pspnet_adhoc_matching.prx
M:\flash0\kd\pspnet_adhoc_transfer_int.prx
M:\flash0\kd\pspnet_apctl.prx
M:\flash0\kd\pspnet_inet.prx
M:\flash0\kd\pspnet_resolver.prx
M:\flash0\kd\pspnet_wispr.prx
M:\flash0\kd\REGISTRY.PRX
M:\flash0\kd\RTC.PRX
M:\flash0\kd\sc_sascore.prx
M:\flash0\kd\SEMAWM.PRX
M:\flash0\kd\SIRCS.PRX
M:\flash0\kd\SYSCON.PRX
M:\flash0\kd\SYSMEM.PRX
M:\flash0\kd\systemctrl.prx
M:\flash0\kd\SYSTIMER.PRX
M:\flash0\kd\threadman.prx
M:\flash0\kd\UMD9660.PRX
M:\flash0\kd\UMDCACHE.PRX
M:\flash0\kd\UMDMAN.PRX
M:\flash0\kd\USB.PRX
M:\flash0\kd\USB1SEG.PRX
M:\flash0\kd\USBACC.PRX
M:\flash0\kd\USBCAM.PRX
M:\flash0\kd\USBGPS.PRX
M:\flash0\kd\USBMIC.PRX
M:\flash0\kd\USBPSPCM.PRX
M:\flash0\kd\USBSTOR.PRX
M:\flash0\kd\usbstorboot.prx
M:\flash0\kd\usbstormgr.prx
M:\flash0\kd\usbstorms.prx
M:\flash0\kd\usersystemlib.prx
M:\flash0\kd\UTILITY.PRX
M:\flash0\kd\VAUDIO.PRX
M:\flash0\kd\videocodec_260.prx
M:\flash0\kd\vshbridge.prx
M:\flash0\kd\vshbridge_msapp.prx
M:\flash0\kd\WLAN.PRX
M:\flash0\kd\wlanfirm_voyager.prx
M:\flash0\kd\resource\big5_table.dat
M:\flash0\kd\resource\cp949_table.dat
M:\flash0\kd\resource\gbk_table.dat
M:\flash0\kd\resource\impose.rsc
M:\flash0\kd\resource\me_t2img.img
M:\flash0\vsh\etc\cptbl.dat
M:\flash0\vsh\etc\index.dat
M:\flash0\vsh\etc\version.txt
M:\flash0\vsh\module\auth_plugin.prx
M:\flash0\vsh\module\camera_plugin.prx
M:\flash0\vsh\module\common_gui.prx
M:\flash0\vsh\module\common_util.prx
M:\flash0\vsh\module\dd_helper.prx
M:\flash0\vsh\module\dd_helper_utility.prx
M:\flash0\vsh\module\dialogmain.prx
M:\flash0\vsh\module\dnas_plugin.prx
M:\flash0\vsh\module\game_install_plugin.prx
M:\flash0\vsh\module\game_plugin.prx
M:\flash0\vsh\module\heaparea1.prx
M:\flash0\vsh\module\heaparea2.prx
M:\flash0\vsh\module\htmlviewer_plugin.prx
M:\flash0\vsh\module\htmlviewer_ui.prx
M:\flash0\vsh\module\htmlviewer_utility.prx
M:\flash0\vsh\module\HVAUTH_R.PRX
M:\flash0\vsh\module\impose_plugin.prx
M:\flash0\vsh\module\lftv_main_plugin.prx
M:\flash0\vsh\module\lftv_middleware.prx
M:\flash0\vsh\module\lftv_plugin.prx
M:\flash0\vsh\module\libfont_hv.prx
M:\flash0\vsh\module\libpspvmc.prx
M:\flash0\vsh\module\LIBSLIM.PRX
M:\flash0\vsh\module\LIBWWW.PRX
M:\flash0\vsh\module\MM_FLASH.PRX
M:\flash0\vsh\module\msgdialog_plugin.prx
M:\flash0\vsh\module\msvideo_main_plugin.prx
M:\flash0\vsh\module\msvideo_plugin.prx
M:\flash0\vsh\module\music_common.prx
M:\flash0\vsh\module\music_main_plugin.prx
M:\flash0\vsh\module\music_plugin.prx
M:\flash0\vsh\module\netconf_plugin.prx
M:\flash0\vsh\module\netconf_plugin_auto_bfl.prx
M:\flash0\vsh\module\netconf_plugin_auto_nec.prx
M:\flash0\vsh\module\NETFRONT.PRX
M:\flash0\vsh\module\netplay_client_plugin.prx
M:\flash0\vsh\module\netplay_server_plus_utility.prx
M:\flash0\vsh\module\netplay_server_utility.prx
M:\flash0\vsh\module\opening_plugin.prx
M:\flash0\vsh\module\osk_plugin.prx
M:\flash0\vsh\module\PAF.PRX
M:\flash0\vsh\module\PAFMINI.PRX
M:\flash0\vsh\module\photo_plugin.prx
M:\flash0\vsh\module\premo_plugin.prx
M:\flash0\vsh\module\rss_subscriber.prx
M:\flash0\vsh\module\savedata_auto_dialog.prx
M:\flash0\vsh\module\savedata_plugin.prx
M:\flash0\vsh\module\savedata_utility.prx
M:\flash0\vsh\module\sysconf_plugin.prx
M:\flash0\vsh\module\update_plugin.prx
M:\flash0\vsh\module\video_main_plugin.prx
M:\flash0\vsh\module\video_plugin.prx
M:\flash0\vsh\module\visualizer_plugin.prx
M:\flash0\vsh\module\VSHMAIN.PRX
M:\flash0\vsh\resource\01-12.bmp
M:\flash0\vsh\resource\13-27.bmp
M:\flash0\vsh\resource\auth_plugin.rco
M:\flash0\vsh\resource\camera_plugin.rco
M:\flash0\vsh\resource\common_page.rco
M:\flash0\vsh\resource\dd_helper.rco
M:\flash0\vsh\resource\dnas_plugin.rco
M:\flash0\vsh\resource\gameboot.pmf
M:\flash0\vsh\resource\game_install_plugin.rco
M:\flash0\vsh\resource\game_plugin.rco
M:\flash0\vsh\resource\htmlviewer.res
M:\flash0\vsh\resource\htmlviewer_plugin.rco
M:\flash0\vsh\resource\impose_plugin.rco
M:\flash0\vsh\resource\lftv_main_plugin.rco
M:\flash0\vsh\resource\lftv_rmc_univer3in1.rco
M:\flash0\vsh\resource\lftv_rmc_univer3in1_jp.rco
M:\flash0\vsh\resource\lftv_rmc_univerpanel.rco
M:\flash0\vsh\resource\lftv_rmc_univerpanel_jp.rco
M:\flash0\vsh\resource\lftv_rmc_univertuner.rco
M:\flash0\vsh\resource\lftv_rmc_univertuner_jp.rco
M:\flash0\vsh\resource\lftv_tuner_jp_jp.rco
M:\flash0\vsh\resource\lftv_tuner_us_en.rco
M:\flash0\vsh\resource\msgdialog_plugin.rco
M:\flash0\vsh\resource\msvideo_main_plugin.rco
M:\flash0\vsh\resource\music_main_plugin.rco
M:\flash0\vsh\resource\netconf_dialog.rco
M:\flash0\vsh\resource\netplay_plugin.rco
M:\flash0\vsh\resource\opening_plugin.rco
M:\flash0\vsh\resource\osk_plugin.rco
M:\flash0\vsh\resource\osk_utility.rco
M:\flash0\vsh\resource\photo_plugin.rco
M:\flash0\vsh\resource\premo_plugin.rco
M:\flash0\vsh\resource\rss_subscriber.rco
M:\flash0\vsh\resource\savedata_plugin.rco
M:\flash0\vsh\resource\savedata_utility.rco
M:\flash0\vsh\resource\sysconf_plugin.rco
M:\flash0\vsh\resource\sysconf_plugin_about.rco
M:\flash0\vsh\resource\system_plugin.rco
M:\flash0\vsh\resource\system_plugin_bg.rco
M:\flash0\vsh\resource\system_plugin_fg.rco
M:\flash0\vsh\resource\topmenu_plugin.rco
M:\flash0\vsh\resource\update_plugin.rco
M:\flash0\vsh\resource\video_main_plugin.rco
M:\flash0\vsh\resource\video_plugin_videotoolbar.rco
M:\flash0\vsh\resource\visualizer_plugin.rco




4. Run "3.60 flasher" from the ELF loader of your choice. Press Cross on the next screen to continue, or Triangle to quit. Sit back, hold your breath, enjoy :)